#include <ctype.h>
int toascii(c) преобразует "c" в символ ASCII
int tolower(c) преобразует "c" в символ верхнего
регистра (в строчную букву),
если это возможно
int _tolower(c) преобразует "c" в строчную букву
int toupper(c) преобразует "c" в символ нижнего
регистра (прописную букву), если
это возможно
int _toupper(c) преобразует "c" в символ нижнего
регистра
int c; преобразуемый символ
Описание.
Макро toascii, tolower, toupper и _toupper преобразуют символ "c" так, как описано ниже.
Макро toascii устанавливает первые 7 битов "c" в нуль так, что преобразованное значение соответствует символу ASCII . Если "c" уже соответствует ASCII, то он не изменяется.
Макро tolower преобразует "c" в строчную букву, если "c" соответствует прописной литере. Иначе "c" не изменяется.
Макро _tolower является версией tolower , использующейся только тогда, когда "c" прописная буква. Если это не так, результат выполнения _tolower не определен.
Макро toupper преобразует "c" в строчную букву, если "c" не является строчной буквой. Иначе "c" не изменяется.
_Toupper является версией toupper , используемой только тог да, когда "c" строчная буква. Если "c" не является строчной буквой, то результат не определен.
Возвращаемое значение.
Макро toascii , tolower , toupper и _toupper возвращают пре образованный символ "c". Возвращаемого значения в случае ошибки нет.
Замечание.
Эти процедуры реализуются как макро. Однако tolower и toupper также реализуются и как функции, т.к. версии макро некорректно обрабатывают аргументы с побочными эффектами. Версии функций могут быть использованы, если удалить макроопределения директивой #undef или не подключать <ctype.h> . Определения функций tolower и toupper даны в <stdlib.h>.
Пример:
#include <stdio.h>
#include <ctype.h>
int ch;
/*следующие операторы анализируют все
**символы между кодами 0х0 и 0х7f.
**Макро toupper и tolower применяются
**для любых кодов. _Toupper и _tolower
**применяются только для кодов, имеющих
**смысл */
for (ch=0; ch<=0x7f; ch++) {
printf (" toupper=%#04x", toupper (ch));
printf (" tolower=%#04x", tolower (ch));
if (islower(ch))
printf(" _toupper=%#04x", _toupper(ch));
if (isupper(ch))
printf("_tolower=%#40x", _tolower(ch));
putchar ('\n');
}